[INFO] cloning repository https://github.com/Mureke/rChip8
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Mureke/rChip8" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMureke%2FrChip8", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMureke%2FrChip8'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c98e395f8512d3c73ff11b18336706e1db96c97e
[INFO] checking Mureke/rChip8 against master#9610dfe5a9a731ced1ea4923ecbd0c57fe367898 for beta-170-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMureke%2FrChip8" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Mureke/rChip8 on toolchain 9610dfe5a9a731ced1ea4923ecbd0c57fe367898
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Mureke/rChip8
[INFO] finished tweaking git repo https://github.com/Mureke/rChip8
[INFO] tweaked toml for git repo https://github.com/Mureke/rChip8 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/Mureke/rChip8 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d54a1f828862c7d8432ffcd1e3787bda90dc3c19e27adde954284529d6bab5c7
[INFO] running `Command { std: "docker" "start" "-a" "d54a1f828862c7d8432ffcd1e3787bda90dc3c19e27adde954284529d6bab5c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d54a1f828862c7d8432ffcd1e3787bda90dc3c19e27adde954284529d6bab5c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d54a1f828862c7d8432ffcd1e3787bda90dc3c19e27adde954284529d6bab5c7", kill_on_drop: false }`
[INFO] [stdout] d54a1f828862c7d8432ffcd1e3787bda90dc3c19e27adde954284529d6bab5c7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2f57d28f9c7352a995ab6afa575747120c8bc1f047b555676d07ebd6599d8be7
[INFO] running `Command { std: "docker" "start" "-a" "2f57d28f9c7352a995ab6afa575747120c8bc1f047b555676d07ebd6599d8be7", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling libc v0.2.69
[INFO] [stderr]    Compiling sdl2-sys v0.30.0
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking bitflags v0.7.0
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling num-iter v0.1.40
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking num v0.1.42
[INFO] [stderr]     Checking sdl2 v0.30.0
[INFO] [stderr]     Checking r_chip8 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::utils::RomReader`
[INFO] [stdout]  --> src/cpu.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::utils::RomReader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::exit`
[INFO] [stdout]  --> src/cpu.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sdl2::hint::set`
[INFO] [stdout]  --> src/cpu.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use sdl2::hint::set;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sdl2::rect::Point`
[INFO] [stdout]  --> src/cpu.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sdl2::rect::Point;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/cpu.rs:227:37
[INFO] [stdout]     |
[INFO] [stdout] 227 |         PointerAction::skip_or_next((self.v[x] == kk))
[INFO] [stdout]     |                                     ^               ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 227 -         PointerAction::skip_or_next((self.v[x] == kk))
[INFO] [stdout] 227 +         PointerAction::skip_or_next(self.v[x] == kk)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/cpu.rs:234:37
[INFO] [stdout]     |
[INFO] [stdout] 234 |         PointerAction::skip_or_next((self.v[x] != kk))
[INFO] [stdout]     |                                     ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 234 -         PointerAction::skip_or_next((self.v[x] != kk))
[INFO] [stdout] 234 +         PointerAction::skip_or_next(self.v[x] != kk)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/cpu.rs:241:37
[INFO] [stdout]     |
[INFO] [stdout] 241 |         PointerAction::skip_or_next((self.v[x] == self.v[y]))
[INFO] [stdout]     |                                     ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 241 -         PointerAction::skip_or_next((self.v[x] == self.v[y]))
[INFO] [stdout] 241 +         PointerAction::skip_or_next(self.v[x] == self.v[y])
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/cpu.rs:357:37
[INFO] [stdout]     |
[INFO] [stdout] 357 |         PointerAction::skip_or_next((self.v[x] != self.v[y]))
[INFO] [stdout]     |                                     ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 357 -         PointerAction::skip_or_next((self.v[x] != self.v[y]))
[INFO] [stdout] 357 +         PointerAction::skip_or_next(self.v[x] != self.v[y])
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/utils/event.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/utils/event.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sdl2::keyboard::Scancode`
[INFO] [stdout]  --> src/utils/event.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sdl2::keyboard::Scancode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/utils/event.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | /         /// Method for collecting key events and watching quit events.
[INFO] [stdout] 21 | |         /// Created mostly using this document: https://rust-sdl2.github.io/rust-sdl2/sdl2/keyboard/struct.KeyboardState.html
[INFO] [stdout] 22 | |         ///
[INFO] [stdout] 23 | |         /// Returns:
[INFO] [stdout] ...  |
[INFO] [stdout] 30 | |         ///       // Do something
[INFO] [stdout] 31 | |         ///  }
[INFO] [stdout]    | |______________^
[INFO] [stdout] ...
[INFO] [stdout] 35 | /         for event in self.events.poll_iter() {
[INFO] [stdout] 36 | |             match event {
[INFO] [stdout] 37 | |                 Event::Quit { .. } |
[INFO] [stdout] 38 | |                 Event::KeyDown { keycode: Some(Keycode::Escape), .. } => {
[INFO] [stdout] ...  |
[INFO] [stdout] 42 | |             }
[INFO] [stdout] 43 | |         }
[INFO] [stdout]    | |_________- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::RomReader`
[INFO] [stdout]  --> src/cpu.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::utils::RomReader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::exit`
[INFO] [stdout]  --> src/cpu.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sdl2::hint::set`
[INFO] [stdout]  --> src/cpu.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use sdl2::hint::set;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sdl2::rect::Point`
[INFO] [stdout]  --> src/cpu.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sdl2::rect::Point;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/cpu.rs:227:37
[INFO] [stdout]     |
[INFO] [stdout] 227 |         PointerAction::skip_or_next((self.v[x] == kk))
[INFO] [stdout]     |                                     ^               ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 227 -         PointerAction::skip_or_next((self.v[x] == kk))
[INFO] [stdout] 227 +         PointerAction::skip_or_next(self.v[x] == kk)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/cpu.rs:234:37
[INFO] [stdout]     |
[INFO] [stdout] 234 |         PointerAction::skip_or_next((self.v[x] != kk))
[INFO] [stdout]     |                                     ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 234 -         PointerAction::skip_or_next((self.v[x] != kk))
[INFO] [stdout] 234 +         PointerAction::skip_or_next(self.v[x] != kk)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/cpu.rs:241:37
[INFO] [stdout]     |
[INFO] [stdout] 241 |         PointerAction::skip_or_next((self.v[x] == self.v[y]))
[INFO] [stdout]     |                                     ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 241 -         PointerAction::skip_or_next((self.v[x] == self.v[y]))
[INFO] [stdout] 241 +         PointerAction::skip_or_next(self.v[x] == self.v[y])
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/cpu.rs:357:37
[INFO] [stdout]     |
[INFO] [stdout] 357 |         PointerAction::skip_or_next((self.v[x] != self.v[y]))
[INFO] [stdout]     |                                     ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 357 -         PointerAction::skip_or_next((self.v[x] != self.v[y]))
[INFO] [stdout] 357 +         PointerAction::skip_or_next(self.v[x] != self.v[y])
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/utils/event.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/utils/event.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sdl2::keyboard::Scancode`
[INFO] [stdout]  --> src/utils/event.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sdl2::keyboard::Scancode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/utils/event.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | /         /// Method for collecting key events and watching quit events.
[INFO] [stdout] 21 | |         /// Created mostly using this document: https://rust-sdl2.github.io/rust-sdl2/sdl2/keyboard/struct.KeyboardState.html
[INFO] [stdout] 22 | |         ///
[INFO] [stdout] 23 | |         /// Returns:
[INFO] [stdout] ...  |
[INFO] [stdout] 30 | |         ///       // Do something
[INFO] [stdout] 31 | |         ///  }
[INFO] [stdout]    | |______________^
[INFO] [stdout] ...
[INFO] [stdout] 35 | /         for event in self.events.poll_iter() {
[INFO] [stdout] 36 | |             match event {
[INFO] [stdout] 37 | |                 Event::Quit { .. } |
[INFO] [stdout] 38 | |                 Event::KeyDown { keycode: Some(Keycode::Escape), .. } => {
[INFO] [stdout] ...  |
[INFO] [stdout] 42 | |             }
[INFO] [stdout] 43 | |         }
[INFO] [stdout]    | |_________- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 0 arguments were supplied
[INFO] [stdout]   --> src/./cpu_tests.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     cpu.cycle();
[INFO] [stdout]    |         ^^^^^-- an argument of type `[bool; 16]` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> src/cpu.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn cycle(&mut self, keys: [bool;16]) -> CycleState {
[INFO] [stdout]    |            ^^^^^            ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 48 |     cpu.cycle(/* [bool; 16] */);
[INFO] [stdout]    |              ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: floating-point types cannot be used in patterns
[INFO] [stdout]   --> src/utils/audio.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 0.0..= 0.5 =>self.volume,
[INFO] [stdout]    |                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stdout]    = note: `#[warn(illegal_floating_point_literal_pattern)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: floating-point types cannot be used in patterns
[INFO] [stdout]   --> src/utils/audio.rs:56:24
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 0.0..= 0.5 =>self.volume,
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> src/./cpu_tests.rs:352:9
[INFO] [stdout]     |
[INFO] [stdout] 352 |     cpu.cycle();
[INFO] [stdout]     |         ^^^^^-- an argument of type `[bool; 16]` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/cpu.rs:92:12
[INFO] [stdout]     |
[INFO] [stdout] 92  |     pub fn cycle(&mut self, keys: [bool;16]) -> CycleState {
[INFO] [stdout]     |            ^^^^^            ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 352 |     cpu.cycle(/* [bool; 16] */);
[INFO] [stdout]     |              ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> src/./cpu_tests.rs:358:9
[INFO] [stdout]     |
[INFO] [stdout] 358 |     cpu.cycle();
[INFO] [stdout]     |         ^^^^^-- an argument of type `[bool; 16]` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/cpu.rs:92:12
[INFO] [stdout]     |
[INFO] [stdout] 92  |     pub fn cycle(&mut self, keys: [bool;16]) -> CycleState {
[INFO] [stdout]     |            ^^^^^            ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 358 |     cpu.cycle(/* [bool; 16] */);
[INFO] [stdout]     |              ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display_tester` is never used
[INFO] [stdout]   --> src/utils/display.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Display {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn display_tester(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]  --> src/utils/rom_reader.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct RomReader {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] 5 |     pub data: [u8; 3584],
[INFO] [stdout] 6 |     size: usize,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 16 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors; 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `r_chip8` (bin "r_chip8" test) due to 4 previous errors; 12 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "2f57d28f9c7352a995ab6afa575747120c8bc1f047b555676d07ebd6599d8be7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2f57d28f9c7352a995ab6afa575747120c8bc1f047b555676d07ebd6599d8be7", kill_on_drop: false }`
[INFO] [stdout] 2f57d28f9c7352a995ab6afa575747120c8bc1f047b555676d07ebd6599d8be7
